package com.example.photo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.photo.model.VO.ScoreWorkVO;
import com.example.photo.model.VO.WorkVO;
import com.example.photo.model.domain.Work;
import com.example.photo.model.request.add.NewWorkRequest;
import com.example.photo.model.request.update.UpdateWorkRequest;

import java.util.List;

/**
* @author 85792
* @description 针对表【work(作品)】的数据库操作Service
* @createDate 2023-03-25 19:15:44
*/
public interface WorkService extends IService<Work> {

    // 保存用户作品
    WorkVO saveWork(NewWorkRequest newWorkRequest, Integer userId);

    // 给作品增加浏览量
    void viewIncrement(Integer workId);

    // 根据作者id查询其上传的所有作品
    List<WorkVO> getWorksByMarkerId(Integer makerId);

    // 根据赛事id查询所有参赛作品
    List<ScoreWorkVO> getAllWorksByContestId(Integer contestId);

    // 用户修改上传的作品信息
    WorkVO updateWorkInfo(UpdateWorkRequest updateWorkRequest);

    // 批量审核作品
    void setIsPass(List<Integer> workIds, Integer passStatus);
}
